@nice2dev/ui 1.0.17 → 1.0.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +316 -0
- package/dist/NiceAlertDialog.doc-BST0-aVs.cjs +14 -0
- package/dist/NiceAlertDialog.doc-GRpJU_5Y.js +38 -0
- package/dist/NiceAnimatePresence.doc-BrttRpeS.js +36 -0
- package/dist/NiceAnimatePresence.doc-IdEWrSnT.cjs +12 -0
- package/dist/NiceCalendarScheduler.doc-Cc-DFMhR.js +33 -0
- package/dist/NiceCalendarScheduler.doc-TPe0kRBN.cjs +9 -0
- package/dist/NiceCameraFeed.doc-BJl0gdWv.js +31 -0
- package/dist/NiceCameraFeed.doc-Bt4eZ8MH.cjs +7 -0
- package/dist/NiceChip.doc-Bccf4IQe.cjs +7 -0
- package/dist/NiceChip.doc-DEsqjL7z.js +31 -0
- package/dist/NiceCombobox.doc-8hMzrsdM.js +34 -0
- package/dist/NiceCombobox.doc-C5IPnVuz.cjs +10 -0
- package/dist/NiceConfigProvider.doc-CKIudO44.js +32 -0
- package/dist/NiceConfigProvider.doc-bMLQj3Zx.cjs +8 -0
- package/dist/NiceCronEditor.doc-BThdELxx.js +31 -0
- package/dist/NiceCronEditor.doc-w_TbOWFo.cjs +7 -0
- package/dist/NiceDataList.doc-DHXrpTPT.cjs +9 -0
- package/dist/NiceDataList.doc-R8SchHqZ.js +33 -0
- package/dist/NiceDiagram.doc-CASS0Tnj.cjs +8 -0
- package/dist/NiceDiagram.doc-DGX-Hwhg.js +32 -0
- package/dist/NiceDocPage.doc-BVBe27kj.cjs +1 -0
- package/dist/NiceDocPage.doc-CDcL3Sqt.js +25 -0
- package/dist/NiceDrawingCanvas.doc-DYYFKKMW.js +32 -0
- package/dist/NiceDrawingCanvas.doc-wa684gbC.cjs +8 -0
- package/dist/NiceDropdown.doc-D2NS9hBT.js +35 -0
- package/dist/NiceDropdown.doc-dAgER8da.cjs +11 -0
- package/dist/NiceDropzone.doc-CVVNc9SE.cjs +9 -0
- package/dist/NiceDropzone.doc-aeajYWqU.js +33 -0
- package/dist/NiceEnergyMonitor.doc-BBnVKuwf.js +32 -0
- package/dist/NiceEnergyMonitor.doc-lf6CCIYi.cjs +8 -0
- package/dist/NiceErrorBoundary-COY0cEsF.js +762 -0
- package/dist/NiceErrorBoundary-CR-_ZScD.cjs +1 -0
- package/dist/NiceErrorBoundary-DBCCmeyl.js +770 -0
- package/dist/NiceErrorBoundary-V6wkSSLP.cjs +1 -0
- package/dist/NiceExpressionBuilder.doc-CTjqEcZR.cjs +8 -0
- package/dist/NiceExpressionBuilder.doc-Cu_ORFhd.js +32 -0
- package/dist/NiceFileExplorer.doc-B0aN041v.js +32 -0
- package/dist/NiceFileExplorer.doc-DNHYQF_t.cjs +8 -0
- package/dist/NiceFloatingActionButton.doc-BOlJwq4S.cjs +7 -0
- package/dist/NiceFloatingActionButton.doc-oYnwvMP9.js +31 -0
- package/dist/NiceFontPicker.doc-B10vOqeF.cjs +8 -0
- package/dist/NiceFontPicker.doc-DuPp0cDP.js +32 -0
- package/dist/NiceForm-COk1rNVa.js +5357 -0
- package/dist/NiceForm-CU8Dldq-.cjs +382 -0
- package/dist/NiceForm-DLADlHAQ.js +5383 -0
- package/dist/NiceForm-DUkduLqG.cjs +382 -0
- package/dist/NiceForm.css +1 -1
- package/dist/NiceGestureHandler.doc-9GGvVnM5.cjs +8 -0
- package/dist/NiceGestureHandler.doc-BduQU3SA.js +32 -0
- package/dist/NiceHeader.doc-Cxoy_f_k.cjs +6 -0
- package/dist/NiceHeader.doc-DjAVl-T4.js +30 -0
- package/dist/NiceImage.doc-COy4iVy1.js +34 -0
- package/dist/NiceImage.doc-CvnaTRj8.cjs +10 -0
- package/dist/NiceInPlaceEditor.doc-8nC6Kqvn.cjs +1 -0
- package/dist/NiceInPlaceEditor.doc-gF1XPyu5.js +25 -0
- package/dist/NiceInteractiveTimeline.doc-BTeASFR4.js +50 -0
- package/dist/NiceInteractiveTimeline.doc-WMOVQhMe.cjs +11 -0
- package/dist/NiceJsonEditor.doc-BpVa-AlY.js +31 -0
- package/dist/NiceJsonEditor.doc-DeyoVDQw.cjs +7 -0
- package/dist/NiceMegaMenu.doc-CO34gN43.cjs +7 -0
- package/dist/NiceMegaMenu.doc-DpchTBL6.js +31 -0
- package/dist/NiceMentionInput.doc-O0W58Unu.js +32 -0
- package/dist/NiceMentionInput.doc-ZSPjBsZc.cjs +8 -0
- package/dist/NiceModal-CIITx65V.cjs +1 -0
- package/dist/NiceModal-CN23FZsc.js +95 -0
- package/dist/NiceModal-CUdeVj-j.js +95 -0
- package/dist/NiceModal-Cc8R-DpX.cjs +1 -0
- package/dist/NiceModuleLifecyclePanel-4UEsYB5r.js +6553 -0
- package/dist/NiceModuleLifecyclePanel-BDnsr5ZW.js +6349 -0
- package/dist/NiceModuleLifecyclePanel-C6agdtTI.cjs +1 -0
- package/dist/NiceModuleLifecyclePanel-F1uN0gMh.cjs +1 -0
- package/dist/NiceModuleLifecyclePanel.css +1 -1
- package/dist/NiceMotion.doc-COF5BldG.cjs +9 -0
- package/dist/NiceMotion.doc-utheTBgM.js +33 -0
- package/dist/NiceMultiColumnComboBox.doc-Ben0Q0J0.cjs +1 -0
- package/dist/NiceMultiColumnComboBox.doc-CK1DppZI.js +25 -0
- package/dist/NiceNotificationList.doc-CBWusjJX.cjs +7 -0
- package/dist/NiceNotificationList.doc-D7lQIxK0.js +31 -0
- package/dist/NiceOfflineSync.doc-BLQFyOf2.cjs +8 -0
- package/dist/NiceOfflineSync.doc-CKWFmR3b.js +32 -0
- package/dist/NicePagination-B4U0LwZy.js +171 -0
- package/dist/NicePagination-CGQf54a9.cjs +1 -0
- package/dist/NicePagination-Cqr3Pe_F.js +171 -0
- package/dist/NicePagination-DyWWdtb3.cjs +1 -0
- package/dist/NicePinCodeInput-C6zJxUVf.cjs +419 -0
- package/dist/NicePinCodeInput-DG_-eXXJ.cjs +419 -0
- package/dist/NicePinCodeInput-g-yUiepm.js +11875 -0
- package/dist/NicePinCodeInput-ltwzQf4r.js +12240 -0
- package/dist/NicePinCodeInput.css +1 -1
- package/dist/NicePreview.doc-Cl7_5MVR.js +30 -0
- package/dist/NicePreview.doc-atKISvmp.cjs +6 -0
- package/dist/NicePropertyGrid.doc-D6xljYe1.cjs +7 -0
- package/dist/NicePropertyGrid.doc-nX2etusg.js +31 -0
- package/dist/NiceRadio.doc-BTURz62X.js +27 -0
- package/dist/NiceRadio.doc-Cc8-1vbn.cjs +3 -0
- package/dist/NiceRecurrencePicker.doc-78HjPJm0.js +31 -0
- package/dist/NiceRecurrencePicker.doc-vC2YmCXF.cjs +7 -0
- package/dist/NiceRichTextEditor.doc-ClPCkzCd.cjs +6 -0
- package/dist/NiceRichTextEditor.doc-CtmV9UvX.js +30 -0
- package/dist/NiceSavedQueryPanel-BIXW0y1X.js +6455 -0
- package/dist/NiceSavedQueryPanel-CE3QR4RY.js +6446 -0
- package/dist/NiceSavedQueryPanel-CFHwMDIx.cjs +596 -0
- package/dist/NiceSavedQueryPanel-DSnj-3Es.cjs +596 -0
- package/dist/NiceSavedQueryPanel.css +1 -1
- package/dist/NiceSceneSelector.doc-CY2OmaWQ.cjs +7 -0
- package/dist/NiceSceneSelector.doc-UsVgDrw1.js +31 -0
- package/dist/NiceScrollArea.doc-C6Y-odUa.js +27 -0
- package/dist/NiceScrollArea.doc-LdxDrGDY.cjs +3 -0
- package/dist/NiceSheet.doc-CsIu3Y1G.cjs +11 -0
- package/dist/NiceSheet.doc-DLfSY-MA.js +35 -0
- package/dist/NiceSpeedDial.doc-CSWvNR9n.cjs +7 -0
- package/dist/NiceSpeedDial.doc-DqnpBcMy.js +31 -0
- package/dist/NiceSplitPane.doc-Ck_FvdL6.cjs +9 -0
- package/dist/NiceSplitPane.doc-Di68JZuy.js +33 -0
- package/dist/NiceSpotlight.doc-CM4PnsHE.js +34 -0
- package/dist/NiceSpotlight.doc-Dm_B-kUJ.cjs +10 -0
- package/dist/NiceStepNavigation.doc-DXraCs7t.js +31 -0
- package/dist/NiceStepNavigation.doc-TSy2dWmf.cjs +7 -0
- package/dist/NiceSteps.doc-C_mkhnez.cjs +10 -0
- package/dist/NiceSteps.doc-PW1zubHM.js +34 -0
- package/dist/NiceSwitch.doc-CLc7OxrE.cjs +6 -0
- package/dist/NiceSwitch.doc-dGMMY4es.js +30 -0
- package/dist/NiceTabs-32xjguOv.cjs +1 -0
- package/dist/NiceTabs-B9zxj6qd.js +1657 -0
- package/dist/NiceTabs-Blk0h4jY.js +1624 -0
- package/dist/NiceTabs-CNauJ4fu.cjs +1 -0
- package/dist/NiceTransition.doc-BmImVoB8.js +35 -0
- package/dist/NiceTransition.doc-GA1N91ON.cjs +11 -0
- package/dist/NiceTree.doc-D7SCXljC.js +40 -0
- package/dist/NiceTree.doc-DZx3hUwY.cjs +16 -0
- package/dist/NiceUnitConverter.doc-DmiyYOH_.cjs +10 -0
- package/dist/NiceUnitConverter.doc-YnzD3uKT.js +34 -0
- package/dist/NiceVirtualGrid.doc-DI2c9ckY.js +35 -0
- package/dist/NiceVirtualGrid.doc-rtwudxTG.cjs +11 -0
- package/dist/NiceVirtualList.doc-BpoTiXoV.js +31 -0
- package/dist/NiceVirtualList.doc-C8q-Hfl0.cjs +7 -0
- package/dist/NiceWindow-B4jA_-hi.js +1409 -0
- package/dist/NiceWindow-Bo_yCa1o.js +1418 -0
- package/dist/NiceWindow-DPzJxOfx.cjs +1 -0
- package/dist/NiceWindow-UpKllge7.cjs +1 -0
- package/dist/charts-0BEMJ0Xt.js +4657 -0
- package/dist/charts-C60va95_.js +4657 -0
- package/dist/charts-CbxmU6Z2.cjs +761 -0
- package/dist/charts-D_I1iwel.cjs +761 -0
- package/dist/charts.cjs +1 -1
- package/dist/charts.css +1 -1
- package/dist/charts.d.ts +19 -19
- package/dist/charts.mjs +1 -1
- package/dist/core-BIA5_uSq.js +22316 -0
- package/dist/core-Bcc4sz15.cjs +96 -0
- package/dist/core-DQYnL6uf.cjs +96 -0
- package/dist/core-Da1dGJN3.js +22401 -0
- package/dist/data.cjs +1 -1
- package/dist/data.d.ts +5 -0
- package/dist/data.mjs +1 -1
- package/dist/editors.cjs +1 -1
- package/dist/editors.d.ts +44 -1
- package/dist/editors.mjs +3 -3
- package/dist/feedback.cjs +1 -1
- package/dist/feedback.d.ts +10 -10
- package/dist/feedback.mjs +2 -2
- package/dist/index-BjBsn6ad.cjs +5194 -0
- package/dist/index-C2Uoywo9.js +63852 -0
- package/dist/index-DCDfWfAt.js +64336 -0
- package/dist/index-DpiCo0_e.cjs +5194 -0
- package/dist/index.cjs +1 -1
- package/dist/index.css +1 -1
- package/dist/index.d.ts +1798 -57
- package/dist/index.mjs +943 -895
- package/dist/lazy.cjs +1 -1
- package/dist/lazy.d.ts +4 -3
- package/dist/lazy.mjs +3 -3
- package/dist/navigation.cjs +1 -1
- package/dist/navigation.d.ts +15 -1
- package/dist/navigation.mjs +30 -30
- package/dist/overlays.cjs +1 -1
- package/dist/overlays.mjs +53 -53
- package/dist/style.css +6 -6
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,319 @@
|
|
|
1
|
+
# [1.0.19] — 2026-05-26
|
|
2
|
+
|
|
3
|
+
### Fixed — NiceNavShell breakpoint sync
|
|
4
|
+
|
|
5
|
+
- **`mobileBreakpoint` default obniżony 960 → 720** żeby zgrać moment
|
|
6
|
+
zniknięcia desktopowego sidebar z momentem pojawienia się hamburgera
|
|
7
|
+
w `NiceTopNav` (oba komponenty domyślnie 720). Eliminuje „martwą
|
|
8
|
+
strefę" 720–960, w której sidebar już nie był widoczny a hamburger
|
|
9
|
+
jeszcze się nie pokazał.
|
|
10
|
+
- **`NiceNavShellApi.isMobile`** — render-prop slot consumers
|
|
11
|
+
(`topNav={(api) => ...}`) otrzymują flagę `isMobile` żeby przekazać
|
|
12
|
+
`forceMobileLayout={api.isMobile}` do własnego `NiceTopNav`. JSDoc na
|
|
13
|
+
`mobileBreakpoint` przypomina by zmienić ten prop na obu komponentach
|
|
14
|
+
jednocześnie, jeśli konsument chce inną wartość.
|
|
15
|
+
|
|
16
|
+
### Fixed / Added — NiceTopNav narrow mode polish
|
|
17
|
+
|
|
18
|
+
- **Mobile panel header** — nowe propsy `showMobilePanelSelector`,
|
|
19
|
+
`mobilePanels`, `activeMobilePanelId`, `onMobilePanelChange`,
|
|
20
|
+
`showMobilePanelModes`, `mobilePanelModes` pozwalają wstrzyknąć dwa
|
|
21
|
+
opcjonalne wiersze nad menu w pull-down panelu hamburgera: natywny
|
|
22
|
+
`<select>` z workspace'ami i pasek trybów (ikony + etykiety reużywające
|
|
23
|
+
`SIDEBAR_MODE_META`). Widoczność obu wierszy sterowana wyłącznie
|
|
24
|
+
propsami (gate dodatkowo wymaga zalogowanego `user`).
|
|
25
|
+
- **Ghost variant** dla `NiceLanguagePicker`, `NiceThemePicker`,
|
|
26
|
+
`NiceCountryPicker`, `NiceNotifications` i `NiceTopNavExtraActionButton`
|
|
27
|
+
(Settings/extraActions). Aktywuje się automatycznie w narrow mode topnav
|
|
28
|
+
— borderless trigger, ikona-only, bez chevron arrow.
|
|
29
|
+
- **Narrow-mode 3-wiersz layout** — header w narrow mode (`isMobile ||
|
|
30
|
+
forceMobileLayout`) renderuje trzy edge-to-edge wiersze: brand
|
|
31
|
+
(transparent), accessories (`--bg-secondary`), hamburger (`--bg-tertiary`).
|
|
32
|
+
`padding: 0` na headerze + `max-width: none; margin-inline: 0` na inner
|
|
33
|
+
→ pasek 100 % szerokości niezależnie od propa `maxWidth`.
|
|
34
|
+
- **Hamburger row hover** — cały wiersz hamburgera jest teraz klikalny;
|
|
35
|
+
przycisk rozciąga się na 100% szerokości wiersza, hover/focus podświetla
|
|
36
|
+
cały pasek a nie tylko niewielki box wokół ikony.
|
|
37
|
+
- **Pull-down panel anchoring** — `hamburgerDrawer` przeniesiony WEWNĄTRZ
|
|
38
|
+
`.nice-top-nav__inner` (zamiast pod `<header>`). `__inner` dostał
|
|
39
|
+
`position: relative` → panel `position: absolute; top: 100%` wysuwa się
|
|
40
|
+
dokładnie spod widocznego paska.
|
|
41
|
+
- **Picker dropdowny w narrow mode** anchorują się teraz do
|
|
42
|
+
`.nice-top-nav__row--accessories` (`position: relative` na wierszu +
|
|
43
|
+
`position: static` na pickerach + `left/right: 0` na dropdownach) →
|
|
44
|
+
rozwijają się na 100% szerokości kontenera, bez przycinania lewą
|
|
45
|
+
krawędzią.
|
|
46
|
+
- **Hamburger ↔ pickery — mutual exclusion**: klik hamburgera zamyka
|
|
47
|
+
`activeCluster` (lang/theme/search); otwarcie pickera zamyka
|
|
48
|
+
`mobileOpen`. Dropdowny nie nakładają się już na panel mobilny.
|
|
49
|
+
- **Notification badge w ghost variant** ma teraz mniejszy font (9 px),
|
|
50
|
+
węższy ring i pozycję `top/right: 0` — nie wystaje poza ghost trigger.
|
|
51
|
+
- **NiceAuthButtons w narrow mode** wymusza `size="sm"` + CSS override
|
|
52
|
+
zmniejsza `.nice-user-menu__avatar` do 28 px, pasuje do reszty ikon ghost.
|
|
53
|
+
- **NiceTopNav `rightCluster` swap** — kolejność w toolbarze: notifications
|
|
54
|
+
→ extraActions → settings → auth/avatar → rightContent (zarówno desktop
|
|
55
|
+
jak i narrow). Settings przed loginem dla spójności z innymi shellami.
|
|
56
|
+
|
|
57
|
+
### Internal
|
|
58
|
+
|
|
59
|
+
- `NiceTopNavExtraActionButton` dostał prop `variant?: 'default' | 'ghost'`.
|
|
60
|
+
- Wszystkie picker triggery w ghost mają teraz `background: transparent`
|
|
61
|
+
na hover/focus/open (zero podświetlenia "kontenera").
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
# [1.1.0] — 2026-05-21 (cd. — batch 6: number/rate/file/search/tag/prompt/palette/lightbox)
|
|
66
|
+
|
|
67
|
+
### Added — Numeric input / rating / async search / tag input / overlays / command palette
|
|
68
|
+
|
|
69
|
+
Kolejne 8 planned-only doc.json stubs → real components
|
|
70
|
+
(64/64 tests passed):
|
|
71
|
+
|
|
72
|
+
**Editors / inputs:**
|
|
73
|
+
|
|
74
|
+
- `NiceNumericInput` — spinbutton z +/-, clamping, step, precision,
|
|
75
|
+
pluggable `format` (string z `{value}` placeholder lub funkcja).
|
|
76
|
+
`role="spinbutton"` + pełne `aria-valuenow/min/max`.
|
|
77
|
+
- `NiceRate` — star rating z arrow-key nav, Home/End extremes,
|
|
78
|
+
`allowHalf` granulacją, custom character override, clear-on-click-same.
|
|
79
|
+
- `NiceFilePicker` — visual wrapper na `<input type=file>` z hidden
|
|
80
|
+
input w tab orderze (keyboard equivalence) + proxy clicku z
|
|
81
|
+
customowego triggera. `useNiceTranslation('filePicker.label')`.
|
|
82
|
+
- `NiceSearchInput` — combobox z async suggestions + recents
|
|
83
|
+
fallback, request-id guard (stale responses swallowed),
|
|
84
|
+
Down/Up nav + Enter pick.
|
|
85
|
+
- `NiceTagInput` — chip multi-value input z paste-with-separator,
|
|
86
|
+
Backspace-deletes-last, suggestions filter, maxTags cap.
|
|
87
|
+
|
|
88
|
+
**Overlays:**
|
|
89
|
+
|
|
90
|
+
- `NicePromptDialog` — modal asking for single value (replacement
|
|
91
|
+
dla `window.prompt`). Auto-focus, Enter submits, Escape +
|
|
92
|
+
backdrop cancel. Labels przez `useNiceTranslation('ok','cancel')`.
|
|
93
|
+
- `NiceLightbox` — full-screen image viewer z prev/next nav,
|
|
94
|
+
zoom (+/- keys + buttons), download button, N/M counter.
|
|
95
|
+
Wszystkie toolbar labels przez i18n.
|
|
96
|
+
|
|
97
|
+
**Navigation:**
|
|
98
|
+
|
|
99
|
+
- `NiceCommandBar` — searchable command palette (Ctrl+K-style)
|
|
100
|
+
z filterowaniem po `label`+`keywords`, grupowaniem po `category`,
|
|
101
|
+
shortcut chip per item, opcjonalnym global shortcut do otwarcia.
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
# [1.1.0] — 2026-05-20 (cd. — batch 5: form fields / feedback / nav / shell)
|
|
106
|
+
|
|
107
|
+
### Added — Form fields / feedback / mobile gesture / nav / shell
|
|
108
|
+
|
|
109
|
+
Kolejne 8 planned-only doc.json stubs → real components
|
|
110
|
+
(52/52 tests passed):
|
|
111
|
+
|
|
112
|
+
**Editors / inputs:**
|
|
113
|
+
|
|
114
|
+
- `NiceCheckboxGroup` — multi-select checkbox set, controlled / uncontrolled,
|
|
115
|
+
horizontal / vertical, per-option disable.
|
|
116
|
+
- `NiceToggleGroup` — compound component (`<NiceToggleGroup.Item>`),
|
|
117
|
+
single OR multi-select, ARIA toggle-button pattern z `aria-pressed`.
|
|
118
|
+
- `NiceOTPInput` — multi-digit OTP z auto-advance, Backspace step-back,
|
|
119
|
+
Arrow Left/Right nav, pełny-kod paste, separator slot.
|
|
120
|
+
`autoComplete="one-time-code"` dla OS-level autofill.
|
|
121
|
+
|
|
122
|
+
**Editors / pickers:**
|
|
123
|
+
|
|
124
|
+
- `NiceCascadeSelect` — multi-column cascading dropdown dla hierarchii.
|
|
125
|
+
Placeholder przez `useNiceTranslation('cascadeSelect.placeholder')`.
|
|
126
|
+
|
|
127
|
+
**Feedback:**
|
|
128
|
+
|
|
129
|
+
- `NiceResult` — full-page result state (success/error/info/warning/pending).
|
|
130
|
+
`role="alert"` dla error, `role="status"` dla pozostałych.
|
|
131
|
+
|
|
132
|
+
**Display:**
|
|
133
|
+
|
|
134
|
+
- `NiceSwipeCard` — pointer-driven swipe card z unified touch/mouse/pen.
|
|
135
|
+
Threshold-based commit + arrow-key fallback.
|
|
136
|
+
|
|
137
|
+
**Navigation:**
|
|
138
|
+
|
|
139
|
+
- `NiceTabBar` — top-level section nav, ARIA tablist pattern, arrow-key
|
|
140
|
+
- Home/End nav skipping disabled tabs, roving tabIndex.
|
|
141
|
+
|
|
142
|
+
**Layout:**
|
|
143
|
+
|
|
144
|
+
- `NiceLayout` — app shell (header/aside/main/footer) z natywnymi HTML5
|
|
145
|
+
landmarks. Sider placement start/end.
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
# [1.1.0] — 2026-05-20 (cd. — batch 4: numerical / disclosure / chrome primitives)
|
|
150
|
+
|
|
151
|
+
### Added — Numerical / disclosure / page-chrome primitives
|
|
152
|
+
|
|
153
|
+
Kolejne 8 planned-only doc.json stubs → real components
|
|
154
|
+
(46/46 tests passed):
|
|
155
|
+
|
|
156
|
+
**Display (numerical / decorative):**
|
|
157
|
+
|
|
158
|
+
- `NiceCountUp` — animated counter z requestAnimationFrame + ease-out
|
|
159
|
+
cubic, decimals/prefix/suffix/separator, `onComplete` callback.
|
|
160
|
+
`aria-label` z final value (AT czyta destination raz, nie każdy tick).
|
|
161
|
+
- `NiceCountdown` — live countdown do `targetDate`, formats
|
|
162
|
+
`full`/`compact`/`minimal`, per-unit visibility, `role="timer"`
|
|
163
|
+
- `aria-live="polite"`. Labels przez `useNiceTranslation`
|
|
164
|
+
(`countdown.days/hours/minutes/seconds`).
|
|
165
|
+
- `NiceCollapsibleCard` — card z built-in collapse affordance,
|
|
166
|
+
trigger='header' lub 'icon'. Chevron `aria-label` przez
|
|
167
|
+
`useNiceTranslation('collapsibleCard.expand/collapse')`.
|
|
168
|
+
- `NiceRibbon` — corner banner przyklejający się do top corner
|
|
169
|
+
wrapped elementu (wrapper auto position:relative).
|
|
170
|
+
|
|
171
|
+
**Layout (disclosure / chrome):**
|
|
172
|
+
|
|
173
|
+
- `NiceCollapse` — single-panel disclosure z aria-expanded +
|
|
174
|
+
aria-controls auto-wired, controlled / uncontrolled mode.
|
|
175
|
+
- `NiceFooter` — semantic `<footer>` z contentinfo landmark, link
|
|
176
|
+
groups jako `<nav>`, social icons z explicit accessible labels,
|
|
177
|
+
optional sticky positioning.
|
|
178
|
+
- `NicePageHeader` — dashboard chrome (breadcrumb + back + avatar +
|
|
179
|
+
title + tags + actions + footer slot). Back button label przez
|
|
180
|
+
`useNiceTranslation('pageHeader.back')`.
|
|
181
|
+
- `NiceCardGrid` — CSS-Grid layout z responsive columns
|
|
182
|
+
(fixed number lub per-breakpoint map). Reflow czysto CSS bez
|
|
183
|
+
resize listenera (scoped `<style>` z media queries + CSS variable).
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
# [1.1.0] — 2026-05-20 (cd. — batch 3: utility / a11y / nav primitives)
|
|
188
|
+
|
|
189
|
+
### Added — Utility / accessibility / navigation primitives
|
|
190
|
+
|
|
191
|
+
Kolejne 8 planned-only doc.json stubs → real components
|
|
192
|
+
(33/33 tests passed):
|
|
193
|
+
|
|
194
|
+
**Utility / accessibility:**
|
|
195
|
+
|
|
196
|
+
- `NiceClickOutside` — declarative outside-click detector
|
|
197
|
+
(component form of `useClickOutside`). Optional `disabled` flag,
|
|
198
|
+
configurable `mouseEvent` (mousedown/click/mouseup).
|
|
199
|
+
- `NiceFocusTrap` — cycles Tab / Shift+Tab between focusable
|
|
200
|
+
descendants. `initialFocus` accepts ref OR CSS selector. Restores
|
|
201
|
+
focus on deactivate by default.
|
|
202
|
+
- `NiceLiveRegion` — visually-hidden (or visible) ARIA live region
|
|
203
|
+
with politeness / atomic / relevant knobs.
|
|
204
|
+
- `NiceSuspense` — drop-in `React.Suspense` z `delay` (ms) gate —
|
|
205
|
+
prevents the spinner-flash anti-pattern for fast resolves.
|
|
206
|
+
|
|
207
|
+
**Navigation:**
|
|
208
|
+
|
|
209
|
+
- `NiceAnchor` — table-of-contents nav z IntersectionObserver
|
|
210
|
+
scroll-spy + smooth-scroll on click, nested items, optional
|
|
211
|
+
`position: sticky`.
|
|
212
|
+
|
|
213
|
+
**Display:**
|
|
214
|
+
|
|
215
|
+
- `NiceBackTop` — floating back-to-top button z ease-out cubic
|
|
216
|
+
tween, custom target / duration / glyph. Label przez
|
|
217
|
+
`useNiceTranslation('backTop.aria')`.
|
|
218
|
+
|
|
219
|
+
**Layout:**
|
|
220
|
+
|
|
221
|
+
- `NiceAffix` — sticky-position wrapper z onChange callback i
|
|
222
|
+
same-size placeholder zachowującym document flow.
|
|
223
|
+
- `NiceMediaObject` — classic media object pattern (image-with-content
|
|
224
|
+
row layout), configurable position / align / spacing.
|
|
225
|
+
|
|
226
|
+
---
|
|
227
|
+
|
|
228
|
+
# [1.1.0] — 2026-05-20 (cd. — batch 2: more primitives)
|
|
229
|
+
|
|
230
|
+
### Added — Layout / typography / display / tools / feedback primitives
|
|
231
|
+
|
|
232
|
+
Kolejne 8 planned-only doc.json stubs zostało zaimplementowanych jako
|
|
233
|
+
prawdziwe kontrolki (47/47 testów passed):
|
|
234
|
+
|
|
235
|
+
**Typography:**
|
|
236
|
+
|
|
237
|
+
- `NiceHeading` — semantic h1-h6 z odsprzężoną skalą wizualną
|
|
238
|
+
(`xs`-`3xl`). Renderuje natywny tag dla a11y, designerzy wybierają
|
|
239
|
+
rozmiar niezależnie od poziomu.
|
|
240
|
+
- `NiceParagraph` — body-text z wariantami `lead` / `muted` i 3
|
|
241
|
+
rozmiarami (sm/md/lg).
|
|
242
|
+
- `NiceLink` — styled `<a>` z `external` przełączającym automatycznie
|
|
243
|
+
`target=_blank` + `rel=noopener noreferrer` (chroni przed
|
|
244
|
+
tab-napping).
|
|
245
|
+
|
|
246
|
+
**Layout:**
|
|
247
|
+
|
|
248
|
+
- `NiceContainer` — centrowany wrapper z width preset
|
|
249
|
+
(sm 640 / md 768 / lg 1024 / xl 1280 / full), `padding` na padding-inline.
|
|
250
|
+
- `NiceSection` — `<section>` z opcjonalnym headerem
|
|
251
|
+
(title / subtitle / actions slot) i `divider`.
|
|
252
|
+
|
|
253
|
+
**Display:**
|
|
254
|
+
|
|
255
|
+
- `NiceStatistic` — KPI tile: tytuł, locale-formatted value (`Intl.NumberFormat`),
|
|
256
|
+
pre/suffix, trend chip z kolorem (up/down).
|
|
257
|
+
|
|
258
|
+
**Tools:**
|
|
259
|
+
|
|
260
|
+
- `NiceCopyButton` — copy-to-clipboard z timed feedback. Async
|
|
261
|
+
Clipboard API + execCommand fallback. Etykiety przez
|
|
262
|
+
`useNiceTranslation` (`copy.label`, `copy.success`, `copy.aria`).
|
|
263
|
+
|
|
264
|
+
**Feedback:**
|
|
265
|
+
|
|
266
|
+
- `NiceCallout` — info/warning/error/success/tip block z opcjonalnym
|
|
267
|
+
title, custom icon, dismiss button. `role=alert` dla error,
|
|
268
|
+
`role=status` dla pozostałych. Etykieta przez
|
|
269
|
+
`useNiceTranslation('callout.dismiss')`.
|
|
270
|
+
|
|
271
|
+
---
|
|
272
|
+
|
|
273
|
+
# [1.1.0] — 2026-05-20
|
|
274
|
+
|
|
275
|
+
### Added — Layout & typography primitives
|
|
276
|
+
|
|
277
|
+
Eight long-standing "planned" doc.json stubs are now real components,
|
|
278
|
+
implemented as thin CSS-in-component wrappers so consumers can stay
|
|
279
|
+
in JSX without dropping to inline style or className soup.
|
|
280
|
+
|
|
281
|
+
**Layout** (`packages/ui/src/layout/`):
|
|
282
|
+
|
|
283
|
+
- `NiceCenter` — flex centering on one or both axes, with optional
|
|
284
|
+
`minHeight` for vertical-only scenarios and `inline` for inline-flex.
|
|
285
|
+
- `NiceStack` — one-dimensional layout with uniform `spacing`, optional
|
|
286
|
+
`divider` element interleaved between every pair of children.
|
|
287
|
+
- `NiceFlex` — direct flexbox container exposing the full `direction` /
|
|
288
|
+
`wrap` / `justify` / `align` / `gap` surface.
|
|
289
|
+
- `NiceSpacer` — flexible (`flex`) or fixed-size (`size`) whitespace
|
|
290
|
+
element, with `axis` control. `aria-hidden`.
|
|
291
|
+
- `NiceAspectRatio` — width:height ratio container using native CSS
|
|
292
|
+
`aspect-ratio`. Accepts number (`16/9 = 1.777…`) or shorthand string.
|
|
293
|
+
|
|
294
|
+
**Typography** (`packages/ui/src/typography/`):
|
|
295
|
+
|
|
296
|
+
- `NiceBlockquote` — semantic `<blockquote>` with optional `author` /
|
|
297
|
+
`cite` footer; three visual variants (`default` / `bordered` /
|
|
298
|
+
`filled`).
|
|
299
|
+
- `NiceTruncate` — multi-line line-clamp with optional Show more /
|
|
300
|
+
Show less toggle. Toggle labels go through `useNiceTranslation`
|
|
301
|
+
(`truncate.expand` / `truncate.collapse`) so they follow the global
|
|
302
|
+
language picker.
|
|
303
|
+
- `NiceHighlight` — wraps matches of a `query` (string or array) inside
|
|
304
|
+
the source `text` with `<mark>` (or a custom tag). Regex-safe input
|
|
305
|
+
escaping; case-insensitive by default.
|
|
306
|
+
|
|
307
|
+
**Migration:** The old `packages/ui/docs/<Name>.doc.json` planned stubs
|
|
308
|
+
were deleted and replaced with `status: "stable"` doc.json files
|
|
309
|
+
colocated next to each `.tsx`. The playground catalog now publishes
|
|
310
|
+
these as real components.
|
|
311
|
+
|
|
312
|
+
**Tests:** Eight new specs added under `__tests__/`. All eight pass
|
|
313
|
+
(47 assertions total).
|
|
314
|
+
|
|
315
|
+
---
|
|
316
|
+
|
|
1
317
|
# [1.0.14] — 2026-05-11
|
|
2
318
|
|
|
3
319
|
### Added — CSS Import Support for Vite/Webpack/React
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="https://nice2dev.com/schemas/component-doc-v1.json",t="NiceAlertDialog",o="Alert dialog for important messages.",i="overlay",n="1.0.0",a="planned",c=[{name:"open",type:"boolean",required:!0,description:"Open state"},{name:"onOpenChange",type:"(open: boolean) => void",description:"Open state change"},{name:"title",type:"React.ReactNode",description:"Dialog title"},{name:"description",type:"React.ReactNode",description:"Dialog description"},{name:"children",type:"React.ReactNode",description:"Dialog content"}],l=[{title:"Alert Dialog",description:"Important message alert",code:`<NiceAlertDialog open={showAlert} onOpenChange={setShowAlert}>
|
|
2
|
+
<NiceAlertDialog.Content>
|
|
3
|
+
<NiceAlertDialog.Header>
|
|
4
|
+
<NiceAlertDialog.Title>Warning</NiceAlertDialog.Title>
|
|
5
|
+
<NiceAlertDialog.Description>
|
|
6
|
+
Are you sure you want to continue?
|
|
7
|
+
</NiceAlertDialog.Description>
|
|
8
|
+
</NiceAlertDialog.Header>
|
|
9
|
+
<NiceAlertDialog.Footer>
|
|
10
|
+
<NiceAlertDialog.Cancel>Cancel</NiceAlertDialog.Cancel>
|
|
11
|
+
<NiceAlertDialog.Action>Continue</NiceAlertDialog.Action>
|
|
12
|
+
</NiceAlertDialog.Footer>
|
|
13
|
+
</NiceAlertDialog.Content>
|
|
14
|
+
</NiceAlertDialog>`}],r={keyboard:["Tab between buttons","Escape to close"],aria:["role=alertdialog","aria-labelledby","aria-describedby"]},s=["NiceDialog","NiceConfirmDialog","NiceModal"],p={$schema:e,name:t,description:o,category:i,since:n,status:a,props:c,examples:l,accessibility:r,seeAlso:s};exports.$schema=e;exports.accessibility=r;exports.category=i;exports.default=p;exports.description=o;exports.examples=l;exports.name=t;exports.props=c;exports.seeAlso=s;exports.since=n;exports.status=a;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
const e = "https://nice2dev.com/schemas/component-doc-v1.json", t = "NiceAlertDialog", o = "Alert dialog for important messages.", i = "overlay", n = "1.0.0", a = "planned", c = [{ name: "open", type: "boolean", required: !0, description: "Open state" }, { name: "onOpenChange", type: "(open: boolean) => void", description: "Open state change" }, { name: "title", type: "React.ReactNode", description: "Dialog title" }, { name: "description", type: "React.ReactNode", description: "Dialog description" }, { name: "children", type: "React.ReactNode", description: "Dialog content" }], l = [{ title: "Alert Dialog", description: "Important message alert", code: `<NiceAlertDialog open={showAlert} onOpenChange={setShowAlert}>
|
|
2
|
+
<NiceAlertDialog.Content>
|
|
3
|
+
<NiceAlertDialog.Header>
|
|
4
|
+
<NiceAlertDialog.Title>Warning</NiceAlertDialog.Title>
|
|
5
|
+
<NiceAlertDialog.Description>
|
|
6
|
+
Are you sure you want to continue?
|
|
7
|
+
</NiceAlertDialog.Description>
|
|
8
|
+
</NiceAlertDialog.Header>
|
|
9
|
+
<NiceAlertDialog.Footer>
|
|
10
|
+
<NiceAlertDialog.Cancel>Cancel</NiceAlertDialog.Cancel>
|
|
11
|
+
<NiceAlertDialog.Action>Continue</NiceAlertDialog.Action>
|
|
12
|
+
</NiceAlertDialog.Footer>
|
|
13
|
+
</NiceAlertDialog.Content>
|
|
14
|
+
</NiceAlertDialog>` }], r = { keyboard: ["Tab between buttons", "Escape to close"], aria: ["role=alertdialog", "aria-labelledby", "aria-describedby"] }, s = ["NiceDialog", "NiceConfirmDialog", "NiceModal"], g = {
|
|
15
|
+
$schema: e,
|
|
16
|
+
name: t,
|
|
17
|
+
description: o,
|
|
18
|
+
category: i,
|
|
19
|
+
since: n,
|
|
20
|
+
status: a,
|
|
21
|
+
props: c,
|
|
22
|
+
examples: l,
|
|
23
|
+
accessibility: r,
|
|
24
|
+
seeAlso: s
|
|
25
|
+
};
|
|
26
|
+
export {
|
|
27
|
+
e as $schema,
|
|
28
|
+
r as accessibility,
|
|
29
|
+
i as category,
|
|
30
|
+
g as default,
|
|
31
|
+
o as description,
|
|
32
|
+
l as examples,
|
|
33
|
+
t as name,
|
|
34
|
+
c as props,
|
|
35
|
+
s as seeAlso,
|
|
36
|
+
n as since,
|
|
37
|
+
a as status
|
|
38
|
+
};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
const e = "https://nice2dev.com/schemas/component-doc-v1.json", n = "NiceAnimatePresence", t = "Animate components as they mount/unmount.", i = "utility", o = "1.0.0", c = "planned", a = [{ name: "children", type: "React.ReactNode", required: !0, description: "Children to animate" }, { name: "initial", type: "boolean", default: "true", description: "Animate on initial mount" }, { name: "mode", type: "'sync' | 'wait' | 'popLayout'", default: "'sync'", description: "Animation mode" }, { name: "onExitComplete", type: "() => void", description: "Exit complete callback" }], s = [{ title: "Animate Presence", description: "Mount/unmount animations", code: `<NiceAnimatePresence mode="wait">
|
|
2
|
+
{items.map(item => (
|
|
3
|
+
<motion.div
|
|
4
|
+
key={item.id}
|
|
5
|
+
initial={{ opacity: 0, y: 20 }}
|
|
6
|
+
animate={{ opacity: 1, y: 0 }}
|
|
7
|
+
exit={{ opacity: 0, y: -20 }}
|
|
8
|
+
>
|
|
9
|
+
{item.content}
|
|
10
|
+
</motion.div>
|
|
11
|
+
))}
|
|
12
|
+
</NiceAnimatePresence>` }], m = { keyboard: [], aria: ["Reduced motion support"] }, d = ["NiceTransition", "NiceMotion"], p = {
|
|
13
|
+
$schema: e,
|
|
14
|
+
name: n,
|
|
15
|
+
description: t,
|
|
16
|
+
category: i,
|
|
17
|
+
since: o,
|
|
18
|
+
status: c,
|
|
19
|
+
props: a,
|
|
20
|
+
examples: s,
|
|
21
|
+
accessibility: m,
|
|
22
|
+
seeAlso: d
|
|
23
|
+
};
|
|
24
|
+
export {
|
|
25
|
+
e as $schema,
|
|
26
|
+
m as accessibility,
|
|
27
|
+
i as category,
|
|
28
|
+
p as default,
|
|
29
|
+
t as description,
|
|
30
|
+
s as examples,
|
|
31
|
+
n as name,
|
|
32
|
+
a as props,
|
|
33
|
+
d as seeAlso,
|
|
34
|
+
o as since,
|
|
35
|
+
c as status
|
|
36
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="https://nice2dev.com/schemas/component-doc-v1.json",t="NiceAnimatePresence",n="Animate components as they mount/unmount.",i="utility",o="1.0.0",c="planned",a=[{name:"children",type:"React.ReactNode",required:!0,description:"Children to animate"},{name:"initial",type:"boolean",default:"true",description:"Animate on initial mount"},{name:"mode",type:"'sync' | 'wait' | 'popLayout'",default:"'sync'",description:"Animation mode"},{name:"onExitComplete",type:"() => void",description:"Exit complete callback"}],s=[{title:"Animate Presence",description:"Mount/unmount animations",code:`<NiceAnimatePresence mode="wait">
|
|
2
|
+
{items.map(item => (
|
|
3
|
+
<motion.div
|
|
4
|
+
key={item.id}
|
|
5
|
+
initial={{ opacity: 0, y: 20 }}
|
|
6
|
+
animate={{ opacity: 1, y: 0 }}
|
|
7
|
+
exit={{ opacity: 0, y: -20 }}
|
|
8
|
+
>
|
|
9
|
+
{item.content}
|
|
10
|
+
</motion.div>
|
|
11
|
+
))}
|
|
12
|
+
</NiceAnimatePresence>`}],m={keyboard:[],aria:["Reduced motion support"]},p=["NiceTransition","NiceMotion"],d={$schema:e,name:t,description:n,category:i,since:o,status:c,props:a,examples:s,accessibility:m,seeAlso:p};exports.$schema=e;exports.accessibility=m;exports.category=i;exports.default=d;exports.description=n;exports.examples=s;exports.name=t;exports.props=a;exports.seeAlso=p;exports.since=o;exports.status=c;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
const e = "https://nice2dev.com/schemas/component-doc-v1.json", t = "NiceCalendarScheduler", n = "Calendar scheduler for appointments and event management.", a = "planning", c = "1.0.0", o = "planned", r = [{ name: "events", type: "SchedulerEvent[]", required: !0, description: "Event data" }, { name: "view", type: "'day' | 'week' | 'month' | 'agenda'", default: "'week'", description: "View mode" }, { name: "date", type: "Date", required: !0, description: "Current date" }, { name: "onDateChange", type: "(date: Date) => void", description: "Date change callback" }, { name: "onEventClick", type: "(event: SchedulerEvent) => void", description: "Event click callback" }, { name: "onEventCreate", type: "(start: Date, end: Date) => void", description: "Create event callback" }, { name: "onEventUpdate", type: "(event: SchedulerEvent) => void", description: "Update event callback" }, { name: "resources", type: "Resource[]", description: "Resources for multi-resource view" }, { name: "workingHours", type: "WorkingHours", description: "Working hours config" }], i = [{ title: "Calendar Scheduler", description: "Schedule events", code: `<NiceCalendarScheduler
|
|
2
|
+
events={appointments}
|
|
3
|
+
view="week"
|
|
4
|
+
date={currentDate}
|
|
5
|
+
onDateChange={setCurrentDate}
|
|
6
|
+
onEventClick={openEvent}
|
|
7
|
+
onEventCreate={createEvent}
|
|
8
|
+
onEventUpdate={updateEvent}
|
|
9
|
+
/>` }], s = { keyboard: ["Arrow keys to navigate", "Enter to select"], aria: ["Calendar scheduler", "Event descriptions"] }, d = ["NiceDatePicker", "NiceGanttChart"], p = {
|
|
10
|
+
$schema: e,
|
|
11
|
+
name: t,
|
|
12
|
+
description: n,
|
|
13
|
+
category: a,
|
|
14
|
+
since: c,
|
|
15
|
+
status: o,
|
|
16
|
+
props: r,
|
|
17
|
+
examples: i,
|
|
18
|
+
accessibility: s,
|
|
19
|
+
seeAlso: d
|
|
20
|
+
};
|
|
21
|
+
export {
|
|
22
|
+
e as $schema,
|
|
23
|
+
s as accessibility,
|
|
24
|
+
a as category,
|
|
25
|
+
p as default,
|
|
26
|
+
n as description,
|
|
27
|
+
i as examples,
|
|
28
|
+
t as name,
|
|
29
|
+
r as props,
|
|
30
|
+
d as seeAlso,
|
|
31
|
+
c as since,
|
|
32
|
+
o as status
|
|
33
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="https://nice2dev.com/schemas/component-doc-v1.json",t="NiceCalendarScheduler",n="Calendar scheduler for appointments and event management.",a="planning",c="1.0.0",o="planned",r=[{name:"events",type:"SchedulerEvent[]",required:!0,description:"Event data"},{name:"view",type:"'day' | 'week' | 'month' | 'agenda'",default:"'week'",description:"View mode"},{name:"date",type:"Date",required:!0,description:"Current date"},{name:"onDateChange",type:"(date: Date) => void",description:"Date change callback"},{name:"onEventClick",type:"(event: SchedulerEvent) => void",description:"Event click callback"},{name:"onEventCreate",type:"(start: Date, end: Date) => void",description:"Create event callback"},{name:"onEventUpdate",type:"(event: SchedulerEvent) => void",description:"Update event callback"},{name:"resources",type:"Resource[]",description:"Resources for multi-resource view"},{name:"workingHours",type:"WorkingHours",description:"Working hours config"}],s=[{title:"Calendar Scheduler",description:"Schedule events",code:`<NiceCalendarScheduler
|
|
2
|
+
events={appointments}
|
|
3
|
+
view="week"
|
|
4
|
+
date={currentDate}
|
|
5
|
+
onDateChange={setCurrentDate}
|
|
6
|
+
onEventClick={openEvent}
|
|
7
|
+
onEventCreate={createEvent}
|
|
8
|
+
onEventUpdate={updateEvent}
|
|
9
|
+
/>`}],i={keyboard:["Arrow keys to navigate","Enter to select"],aria:["Calendar scheduler","Event descriptions"]},d=["NiceDatePicker","NiceGanttChart"],l={$schema:e,name:t,description:n,category:a,since:c,status:o,props:r,examples:s,accessibility:i,seeAlso:d};exports.$schema=e;exports.accessibility=i;exports.category=a;exports.default=l;exports.description=n;exports.examples=s;exports.name=t;exports.props=r;exports.seeAlso=d;exports.since=c;exports.status=o;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
const e = "https://nice2dev.com/schemas/component-doc-v1.json", o = "NiceCameraFeed", n = "Security camera live feed with PTZ controls and recording.", a = "smart-home", t = "1.0.0", r = "planned", s = [{ name: "camera", type: "Camera", required: !0, description: "Camera info" }, { name: "streamUrl", type: "string", required: !0, description: "Stream URL" }, { name: "onPTZControl", type: "(command: PTZCommand) => Promise<void>", description: "PTZ callback" }, { name: "onSnapshot", type: "() => Promise<string>", description: "Snapshot callback" }, { name: "onRecordToggle", type: "(recording: boolean) => Promise<void>", description: "Record callback" }, { name: "showControls", type: "boolean", default: "true", description: "Show controls" }, { name: "showTimestamp", type: "boolean", default: "true", description: "Show timestamp" }, { name: "fullscreenEnabled", type: "boolean", default: "true", description: "Allow fullscreen" }], c = [{ title: "Camera Feed", description: "View camera", code: `<NiceCameraFeed
|
|
2
|
+
camera={securityCamera}
|
|
3
|
+
streamUrl={camera.streamUrl}
|
|
4
|
+
onPTZControl={sendPTZCommand}
|
|
5
|
+
onSnapshot={takeSnapshot}
|
|
6
|
+
showControls
|
|
7
|
+
/>` }], i = { keyboard: ["Tab through controls", "Arrow keys for PTZ"], aria: ["Video feed", "Control buttons"] }, m = ["NiceVideoPlayer", "NiceSensorGaugePanel"], d = {
|
|
8
|
+
$schema: e,
|
|
9
|
+
name: o,
|
|
10
|
+
description: n,
|
|
11
|
+
category: a,
|
|
12
|
+
since: t,
|
|
13
|
+
status: r,
|
|
14
|
+
props: s,
|
|
15
|
+
examples: c,
|
|
16
|
+
accessibility: i,
|
|
17
|
+
seeAlso: m
|
|
18
|
+
};
|
|
19
|
+
export {
|
|
20
|
+
e as $schema,
|
|
21
|
+
i as accessibility,
|
|
22
|
+
a as category,
|
|
23
|
+
d as default,
|
|
24
|
+
n as description,
|
|
25
|
+
c as examples,
|
|
26
|
+
o as name,
|
|
27
|
+
s as props,
|
|
28
|
+
m as seeAlso,
|
|
29
|
+
t as since,
|
|
30
|
+
r as status
|
|
31
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="https://nice2dev.com/schemas/component-doc-v1.json",o="NiceCameraFeed",t="Security camera live feed with PTZ controls and recording.",a="smart-home",n="1.0.0",r="planned",s=[{name:"camera",type:"Camera",required:!0,description:"Camera info"},{name:"streamUrl",type:"string",required:!0,description:"Stream URL"},{name:"onPTZControl",type:"(command: PTZCommand) => Promise<void>",description:"PTZ callback"},{name:"onSnapshot",type:"() => Promise<string>",description:"Snapshot callback"},{name:"onRecordToggle",type:"(recording: boolean) => Promise<void>",description:"Record callback"},{name:"showControls",type:"boolean",default:"true",description:"Show controls"},{name:"showTimestamp",type:"boolean",default:"true",description:"Show timestamp"},{name:"fullscreenEnabled",type:"boolean",default:"true",description:"Allow fullscreen"}],c=[{title:"Camera Feed",description:"View camera",code:`<NiceCameraFeed
|
|
2
|
+
camera={securityCamera}
|
|
3
|
+
streamUrl={camera.streamUrl}
|
|
4
|
+
onPTZControl={sendPTZCommand}
|
|
5
|
+
onSnapshot={takeSnapshot}
|
|
6
|
+
showControls
|
|
7
|
+
/>`}],i={keyboard:["Tab through controls","Arrow keys for PTZ"],aria:["Video feed","Control buttons"]},m=["NiceVideoPlayer","NiceSensorGaugePanel"],l={$schema:e,name:o,description:t,category:a,since:n,status:r,props:s,examples:c,accessibility:i,seeAlso:m};exports.$schema=e;exports.accessibility=i;exports.category=a;exports.default=l;exports.description=t;exports.examples=c;exports.name=o;exports.props=s;exports.seeAlso=m;exports.since=n;exports.status=r;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="https://nice2dev.com/schemas/component-doc-v1.json",t="NiceChip",i="Chip/pill component for selections.",c="display",n="1.0.0",a="planned",o=[{name:"children",type:"React.ReactNode",required:!0,description:"Chip content"},{name:"variant",type:"'filled' | 'outlined'",default:"'filled'",description:"Chip variant"},{name:"color",type:"'default' | 'primary' | 'secondary' | 'success' | 'warning' | 'error'",default:"'default'",description:"Chip color"},{name:"size",type:"'sm' | 'md' | 'lg'",default:"'md'",description:"Chip size"},{name:"avatar",type:"React.ReactNode",description:"Avatar element"},{name:"icon",type:"React.ReactNode",description:"Leading icon"},{name:"deletable",type:"boolean",default:"false",description:"Show delete icon"},{name:"disabled",type:"boolean",default:"false",description:"Disabled state"},{name:"onClick",type:"() => void",description:"Click callback"},{name:"onDelete",type:"() => void",description:"Delete callback"}],s=[{title:"Chip",description:"Selection chip",code:`<NiceChip
|
|
2
|
+
avatar={<NiceAvatar src="/user.jpg" size="xs" />}
|
|
3
|
+
deletable
|
|
4
|
+
onDelete={handleDelete}
|
|
5
|
+
>
|
|
6
|
+
John Doe
|
|
7
|
+
</NiceChip>`}],l={keyboard:["Tab to focus","Enter to click","Delete to remove"],aria:["Button or static element"]},d=["NiceTag","NiceTagInput"],p={$schema:e,name:t,description:i,category:c,since:n,status:a,props:o,examples:s,accessibility:l,seeAlso:d};exports.$schema=e;exports.accessibility=l;exports.category=c;exports.default=p;exports.description=i;exports.examples=s;exports.name=t;exports.props=o;exports.seeAlso=d;exports.since=n;exports.status=a;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
const e = "https://nice2dev.com/schemas/component-doc-v1.json", t = "NiceChip", i = "Chip/pill component for selections.", n = "display", a = "1.0.0", c = "planned", o = [{ name: "children", type: "React.ReactNode", required: !0, description: "Chip content" }, { name: "variant", type: "'filled' | 'outlined'", default: "'filled'", description: "Chip variant" }, { name: "color", type: "'default' | 'primary' | 'secondary' | 'success' | 'warning' | 'error'", default: "'default'", description: "Chip color" }, { name: "size", type: "'sm' | 'md' | 'lg'", default: "'md'", description: "Chip size" }, { name: "avatar", type: "React.ReactNode", description: "Avatar element" }, { name: "icon", type: "React.ReactNode", description: "Leading icon" }, { name: "deletable", type: "boolean", default: "false", description: "Show delete icon" }, { name: "disabled", type: "boolean", default: "false", description: "Disabled state" }, { name: "onClick", type: "() => void", description: "Click callback" }, { name: "onDelete", type: "() => void", description: "Delete callback" }], s = [{ title: "Chip", description: "Selection chip", code: `<NiceChip
|
|
2
|
+
avatar={<NiceAvatar src="/user.jpg" size="xs" />}
|
|
3
|
+
deletable
|
|
4
|
+
onDelete={handleDelete}
|
|
5
|
+
>
|
|
6
|
+
John Doe
|
|
7
|
+
</NiceChip>` }], l = { keyboard: ["Tab to focus", "Enter to click", "Delete to remove"], aria: ["Button or static element"] }, d = ["NiceTag", "NiceTagInput"], p = {
|
|
8
|
+
$schema: e,
|
|
9
|
+
name: t,
|
|
10
|
+
description: i,
|
|
11
|
+
category: n,
|
|
12
|
+
since: a,
|
|
13
|
+
status: c,
|
|
14
|
+
props: o,
|
|
15
|
+
examples: s,
|
|
16
|
+
accessibility: l,
|
|
17
|
+
seeAlso: d
|
|
18
|
+
};
|
|
19
|
+
export {
|
|
20
|
+
e as $schema,
|
|
21
|
+
l as accessibility,
|
|
22
|
+
n as category,
|
|
23
|
+
p as default,
|
|
24
|
+
i as description,
|
|
25
|
+
s as examples,
|
|
26
|
+
t as name,
|
|
27
|
+
o as props,
|
|
28
|
+
d as seeAlso,
|
|
29
|
+
a as since,
|
|
30
|
+
c as status
|
|
31
|
+
};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
const e = "https://nice2dev.com/schemas/component-doc-v1.json", o = "NiceCombobox", t = "Combobox with search and custom input.", n = "input", a = "1.0.0", l = "planned", s = [{ name: "value", type: "string", description: "Current value" }, { name: "defaultValue", type: "string", description: "Default value" }, { name: "options", type: "{ label: string; value: string }[]", description: "Available options" }, { name: "placeholder", type: "string", description: "Placeholder text" }, { name: "disabled", type: "boolean", default: "false", description: "Disabled state" }, { name: "allowCustomValue", type: "boolean", default: "true", description: "Allow entering custom values" }, { name: "filter", type: "(query: string, option: Option) => boolean", description: "Custom filter function" }, { name: "onChange", type: "(value: string) => void", description: "Change callback" }, { name: "onSearch", type: "(query: string) => void", description: "Search callback" }], c = [{ title: "Combobox", description: "Searchable combobox", code: `<NiceCombobox
|
|
2
|
+
options={[
|
|
3
|
+
{ label: 'React', value: 'react' },
|
|
4
|
+
{ label: 'Vue', value: 'vue' },
|
|
5
|
+
{ label: 'Angular', value: 'angular' }
|
|
6
|
+
]}
|
|
7
|
+
placeholder="Select or type..."
|
|
8
|
+
allowCustomValue
|
|
9
|
+
onChange={(value) => console.log('Selected:', value)}
|
|
10
|
+
/>` }], i = { keyboard: ["Type to filter", "Arrow keys to navigate", "Enter to select"], aria: ["Combobox role", "Listbox popup"] }, r = ["NiceSelect", "NiceAutocomplete"], p = {
|
|
11
|
+
$schema: e,
|
|
12
|
+
name: o,
|
|
13
|
+
description: t,
|
|
14
|
+
category: n,
|
|
15
|
+
since: a,
|
|
16
|
+
status: l,
|
|
17
|
+
props: s,
|
|
18
|
+
examples: c,
|
|
19
|
+
accessibility: i,
|
|
20
|
+
seeAlso: r
|
|
21
|
+
};
|
|
22
|
+
export {
|
|
23
|
+
e as $schema,
|
|
24
|
+
i as accessibility,
|
|
25
|
+
n as category,
|
|
26
|
+
p as default,
|
|
27
|
+
t as description,
|
|
28
|
+
c as examples,
|
|
29
|
+
o as name,
|
|
30
|
+
s as props,
|
|
31
|
+
r as seeAlso,
|
|
32
|
+
a as since,
|
|
33
|
+
l as status
|
|
34
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="https://nice2dev.com/schemas/component-doc-v1.json",o="NiceCombobox",t="Combobox with search and custom input.",n="input",a="1.0.0",l="planned",s=[{name:"value",type:"string",description:"Current value"},{name:"defaultValue",type:"string",description:"Default value"},{name:"options",type:"{ label: string; value: string }[]",description:"Available options"},{name:"placeholder",type:"string",description:"Placeholder text"},{name:"disabled",type:"boolean",default:"false",description:"Disabled state"},{name:"allowCustomValue",type:"boolean",default:"true",description:"Allow entering custom values"},{name:"filter",type:"(query: string, option: Option) => boolean",description:"Custom filter function"},{name:"onChange",type:"(value: string) => void",description:"Change callback"},{name:"onSearch",type:"(query: string) => void",description:"Search callback"}],i=[{title:"Combobox",description:"Searchable combobox",code:`<NiceCombobox
|
|
2
|
+
options={[
|
|
3
|
+
{ label: 'React', value: 'react' },
|
|
4
|
+
{ label: 'Vue', value: 'vue' },
|
|
5
|
+
{ label: 'Angular', value: 'angular' }
|
|
6
|
+
]}
|
|
7
|
+
placeholder="Select or type..."
|
|
8
|
+
allowCustomValue
|
|
9
|
+
onChange={(value) => console.log('Selected:', value)}
|
|
10
|
+
/>`}],c={keyboard:["Type to filter","Arrow keys to navigate","Enter to select"],aria:["Combobox role","Listbox popup"]},r=["NiceSelect","NiceAutocomplete"],p={$schema:e,name:o,description:t,category:n,since:a,status:l,props:s,examples:i,accessibility:c,seeAlso:r};exports.$schema=e;exports.accessibility=c;exports.category=n;exports.default=p;exports.description=t;exports.examples=i;exports.name=o;exports.props=s;exports.seeAlso=r;exports.since=a;exports.status=l;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
const e = "https://nice2dev.com/schemas/component-doc-v1.json", n = "NiceConfigProvider", o = "Global configuration provider.", i = "utility", t = "1.0.0", c = "planned", r = [{ name: "children", type: "React.ReactNode", required: !0, description: "Provider children" }, { name: "locale", type: "Locale", description: "Locale configuration" }, { name: "theme", type: "ThemeConfig", description: "Theme configuration" }, { name: "prefixCls", type: "string", description: "Component class prefix" }, { name: "componentSize", type: "'small' | 'middle' | 'large'", description: "Default component size" }, { name: "direction", type: "'ltr' | 'rtl'", default: "'ltr'", description: "Text direction" }, { name: "renderEmpty", type: "(componentName: string) => React.ReactNode", description: "Empty state renderer" }], a = [{ title: "Config Provider", description: "Global configuration", code: `<NiceConfigProvider
|
|
2
|
+
locale={enUS}
|
|
3
|
+
theme={{ primaryColor: '#1890ff' }}
|
|
4
|
+
componentSize="middle"
|
|
5
|
+
direction="ltr"
|
|
6
|
+
>
|
|
7
|
+
<App />
|
|
8
|
+
</NiceConfigProvider>` }], s = { keyboard: [], aria: ["Language announcement"] }, d = ["NiceThemeProvider", "NiceI18nProvider"], p = {
|
|
9
|
+
$schema: e,
|
|
10
|
+
name: n,
|
|
11
|
+
description: o,
|
|
12
|
+
category: i,
|
|
13
|
+
since: t,
|
|
14
|
+
status: c,
|
|
15
|
+
props: r,
|
|
16
|
+
examples: a,
|
|
17
|
+
accessibility: s,
|
|
18
|
+
seeAlso: d
|
|
19
|
+
};
|
|
20
|
+
export {
|
|
21
|
+
e as $schema,
|
|
22
|
+
s as accessibility,
|
|
23
|
+
i as category,
|
|
24
|
+
p as default,
|
|
25
|
+
o as description,
|
|
26
|
+
a as examples,
|
|
27
|
+
n as name,
|
|
28
|
+
r as props,
|
|
29
|
+
d as seeAlso,
|
|
30
|
+
t as since,
|
|
31
|
+
c as status
|
|
32
|
+
};
|